// 获取定位
const getPos = {
  init(callback) {
    uni.showLoading({
      title: '定位中',
      mask: true,
    })
    uni.getLocation({
      type: 'wgs84',
      success: (res) => {
        uni.hideLoading()
        typeof callback === 'function' && callback(res)
        // getPos.resolveAddr(res).then(result => {
        //   uni.hideLoading()
        //   const cityName = result?.ad_info?.city || '合肥市'
        //   callback({ cityName, latitude: res.latitude, longitude: res.longitude })
        // }).catch(() => {
        //   uni.hideLoading()
        //   callback({ cityName: '合肥市', latitude: res.latitude, longitude: res.longitude })
        // })
      },
      fail(err) {
        uni.hideLoading()
        uni.showModal({
          title:'需要获取您的地理位置，请确认授权，否则小程序功能将无法使用',
          showCancel: false,
          confirmText: '去授权',
          success: (tip) => {
            if (tip.confirm){ // 查看是否点击确定
              uni.openSetting({  //打开设置
                success: (res) => {
                  if (res.authSetting['scope.userLocation']) {
                    getPos.init(callback)
                  } else {
                    uni.showToast({
                      title: '授权失败',
                      icon: 'none',
                      duration: 1000
                    })
                  }
                },
              })
            } else {
              uni.showToast({
                title: '授权失败',
                icon: 'none',
                duration: 1000
              })
            }
          },
        })
        console.log(err)
      }
    })
  },
  // 根据经纬度解析地址
  resolveAddr(resu) {
    console.log('resu === ', resu)
    // return new Promise((resolve, reject) => {
    //   const qqmapsdk = new QQMapWX({
    //     key: MAP_KEY
    //   })
    //   qqmapsdk.reverseGeocoder({
    //     location: {
    //       latitude: resu.latitude,
    //       longitude: resu.longitude
    //     },
    //     success(res) {
    //       resolve(res.result)
    //     },
    //     fail(err) {
    //       uni.showToast({
    //         icon: 'none',
    //         title: err.message
    //       })
    //       reject(err)
    //     },
    //   })
    // })
  }
}

module.exports = {
  getPos
}